package fr.auzaiphe.titleScreen;

import fr.auzaiphe.admin.controller.AdminController;
import fr.auzaiphe.admin.model.AdminModel;
import fr.auzaiphe.admin.view.AdminView;
import fr.auzaiphe.commun.constantes.ConstantesClientServeur;
import fr.auzaiphe.commun.reseau.ReseauClient;
import fr.auzaiphe.commun.reseau.ReseauServer;
import fr.auzaiphe.joueur.controller.JoueurController;
import fr.auzaiphe.joueur.model.JoueurModel;
import fr.auzaiphe.joueur.view.JoueurView;
/**
 *
 * @author Hugp
 *
 */
public class TitleScreen
{
	private AccueilFrame view;
	/**
	 * Constructeur
	 */
	public TitleScreen()
	{
		this.view = new AccueilFrame( this );
	}

	/**
	 *Mise en place de l'interface administrateur
	 */
	public void initAdmin ()
	{
		this.view.close();
		ReseauServer server = new ReseauServer( ConstantesClientServeur.NUMPORT );
		ReseauClient client = new ReseauClient( "localhost" , ConstantesClientServeur.NUMPORT );
		AdminModel model = new AdminModel( server , client );
		AdminController controller = new AdminController( model );
		AdminView view = new AdminView( model, controller );
		server.initPacketHandler( model, view );
		client.initPacketHandler( model, view );
		client.setPseudo( "Organisateur" );
	}

	/**
	 * Mise en place de l'interface joueur
	 * @param pIp
	 */
	public void initJoueur(String pIp)
	{
		this.view.close();
		ReseauClient client = new ReseauClient( pIp, ConstantesClientServeur.NUMPORT );
		JoueurModel model = new JoueurModel( client );
		JoueurController controller = new JoueurController ( model );
		JoueurView view = new JoueurView( model, controller );
		client.initPacketHandler( model, view );
		client.setPseudo( "Joueur" );
	}
}